1. Field of the Invention
The present invention relates generally to software testing, and more particularly, to methods and systems for simplifying test execution report generation.
2. Description of the Related Art
As the use of computer software in performing daily tasks is increasing rapidly, assessing software reliability through software testing has become an imperative stage in the software development cycle. As is well known, software testing is directed toward eliminating defects (i.e., bugs) in computer software, which if undetected, can create significant negative results.
Typically, computer software development involves multiple groups of developers and engineers, with the members of each group being responsible for developing a certain portion of the computer software source code (i.e., workspace). Members of each group are further responsible for ensuring that the group workspace functions properly, which for the most part, is achieved through testing the workspace of the group. Usually, by the conclusion of testing process, workspace testing results in the generation of multiple reports, each containing test execution results.
Testing workspaces by different groups of developers has several disadvantages. First, test result execution reports created by different groups of engineers usually have dissimilar formats due to the members of the groups having full discretion as to the format of the test execution results. For instance, while one software quality engineer of a group may prefer generating a test execution result having a text file format, a software quality engineer of a different group may prefer to store the test execution results in a database. In either scenario, to generate a report, the user is required to manually review each test execution result file or database so as to retrieve the required information of the user. Furthermore, generating a comprehensive test execution result report from each and every generated test execution result report is a very time consuming, exhausting, and costly task, unnecessarily wasting resources while reducing productivity.
Second, in addition to having different test execution result formats, typically different test execution results may associate dissimilar context to what constitutes passing or failing of a test. For instance, different test harnesses associate different contexts to what constitutes passing or failing of a test case in the particular test harness.
Third, irrespective of having dissimilar formats or having different contexts as to passing or failing of a test, unverified test execution results are generated. That is, one viewing the test execution results cannot determine whether certain failure of a test is due to a bug in the software being tested or other problems such as the network being down. Thus far, one way to generate unverified data is to have each quality software engineer to manually review and verify each of the respective test execution results. As can be appreciated, this task is also extremely lengthy, and exhaustive, and expensive.
In view of the foregoing, there is a need for a flexible methodology and system for maintaining high-quality test execution results while simplifying generation of verified test execution reports.